# 定义 FFmpeg 命令
FFMPEG = ffmpeg

# 定义源目录和目标目录
SRC_DIR = src
TARGET_DIR = mp3obj

# 查找源目录中的所有 .flac 和 .wav 文件
FLAC_SOURCES = $(wildcard $(SRC_DIR)/*.flac)
WAV_SOURCES = $(wildcard $(SRC_DIR)/*.wav)

# 生成目标文件列表，分别处理 .flac 和 .wav 文件
MP3_TARGETS_FLAC = $(patsubst $(SRC_DIR)/%.flac,$(TARGET_DIR)/%.mp3,$(FLAC_SOURCES))
MP3_TARGETS_WAV = $(patsubst $(SRC_DIR)/%.wav,$(TARGET_DIR)/%.mp3,$(WAV_SOURCES))

# 合并 .flac 和 .wav 的 MP3 目标列表
MP3_TARGETS = $(MP3_TARGETS_FLAC) $(MP3_TARGETS_WAV)

# 默认目标是转换所有文件
all: $(MP3_TARGETS)

# 规则：将 .flac 转换为 .mp3
$(TARGET_DIR)/%.mp3: $(SRC_DIR)/%.flac
	@mkdir -p $(TARGET_DIR)
	$(FFMPEG) -i $< -c:a libmp3lame -q:a 2 $@

# 规则：将 .wav 转换为 .mp3
$(TARGET_DIR)/%.mp3: $(SRC_DIR)/%.wav
	@mkdir -p $(TARGET_DIR)
	$(FFMPEG) -i $< -c:a libmp3lame -q:a 2 $@

# 清理目标文件
.PHONY: clean
clean:
	rm -f $(TARGET_DIR)/*.mp3

